Computing inter-autonomous system MPLS traffic engineering LSP paths

ABSTRACT

Systems and methods for computing the paths of MPLS Traffic Engineering LSPs across Autonomous System and/or area boundaries. A distributed path computation algorithm exploits multiple path computation elements (PCEs) to develop a virtual shortest path tree (VSPT) resulting in computation of an end-to-end optimal (shortest) path. In some implementations, the VSPT is computed recursively across all the Autonomous Systems and/or areas between the head-end and tail-end of the Traffic Engineering LSP.

BACKGROUND OF THE INVENTION

The present invention relates to data networking and more particularlyto path computation in certain types of situation.

MPLS (Multi-Protocol Label Switching) Traffic Engineering has beendeveloped to meet data networking requirements such as guaranteedavailable bandwidth. MPLS Traffic Engineering exploits modem labelswitching techniques to build guaranteed bandwidth end-to-end tunnelsthrough an IP/MPLS network of labels switched routers (LSRs). Thesetunnels are a type of label switched path (LSP) and thus are generallyreferred to as MPLS Traffic Engineering LSPs.

Establishment of an MPLS Traffic Engineering LSP from an LSP head-end toan LSP tail-end involves computation of a path through the network ofLSRs. Optimally, the computed path is the “shortest” path, as measuredin some metric, that satisfies all of the relevant constraints such ase.g., required bandwidth, availability of backup bypass tunnels for eachlink and node included in the path, etc. Path computation can either beperformed by the head-end LSR or by some other entity operating as apath computation element (PCE). The head-end (or PCE) exploits itsknowledge of network topology and resources available on each link toperform the path computation according to the LSP Traffic Engineeringconstraints. Various path computation methodologies are availableincluding CSPF (constrained shortest path first).

Up until now, MPLS Traffic Engineering LSPs have been configured withina single Autonomous System (AS) or Interior Gateway Protocol (IGP) area.The term “Autonomous System” generally refers to a group of routerswithin a network that are subject to a common authority and use the sameintradomain routing protocol. It is now desirable to extend MPLS TrafficEngineering LSPs across AS boundaries. This would greatly improvetraffic management and quality of service across multiple serviceproviders over what has been achieved using prior art Border GatewayProtocol (BGP)-based techniques.

One difficulty that arises in achieving this goal is that pathcomputation at the LSP head-end requires knowledge of network topologyand resources across the entire network between the head-end and thetail-end. Yet service providers typically do not share this informationwith each other across AS borders. Neither the head-end nor any PCS willhave sufficient knowledge to compute a path. Prior art MPLS TrafficEngineering path computation methodologies thus do not operate in aninter-AS context.

A similar problem arises in computing the paths of MPLS TrafficEngineering LSPs across what are referred to as “areas.” An area is acollection of routers that share full network topology information witheach other. To improve routing scalability, a service provider maydivide an AS into multiple areas. Network topology and resourceinformation do not, however, flow across area boundaries even though asingle service provider may operate all the IGP areas. Like in theinter-AS case, the standard MPLS Traffic Engineering path computationtechniques cannot compute inter-area paths because overall networktopology and resource information may not be available at any one node.

What is needed are systems and methods for computing the paths of MPLSTraffic Engineering LSPs across area and/or AS boundaries.

SUMMARY OF THE INVENTION

Embodiments of the present invention provide systems and methods forcomputing the paths of MPLS Traffic Engineering LSPs across AutonomousSystem and/or area boundaries. A distributed path computation algorithmexploits multiple path computation elements (PCEs) to develop a virtualshortest path tree (VSPT) resulting in computation of an end-to-endoptimal (shortest) path. In some implementations, the VSPT is computedrecursively across all the Autonomous Systems and/or areas between thehead-end and tail-end of the Traffic Engineering LSP.

Further understanding of the nature and advantages of the inventionsherein may be realized by reference to the remaining portions of thespecification and the attached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts an inter-Autonomous System path computation scenarioaccording to one embodiment of the present invention.

FIG. 2 is a flow chart describing steps of computing a path of an MPLSTraffic Engineering LSP across multiple Autonomous Systems according toone embodiment of the present invention.

FIGS. 3A-3D depict evolution of a virtual shortest path tree acrossmultiple Autonomous Systems according to one embodiment of the presentinvention.

FIG. 4 depicts an inter-area path computation scenario according to oneembodiment of the present invention.

FIG. 5 is a flow chart describing steps of computing a path of an MPLSTraffic Engineering LSP across multiple areas according to oneembodiment of the present invention.

FIG. 6 depicts a network device suitable for implementing embodiments ofthe present invention.

DESCRIPTION OF SPECIFIC EMBODIMENTS

The present invention will be described with reference to arepresentative network environment and employs a certain combination ofnetwork protocols to forward data through the network. The links may beimplemented using any type of physical medium such as, e.g., an opticalmedium, wireless medium, twisted pair, etc. Links may also be logicalconnections that give the connected nodes the property of adjacency inview of the operative networking protocols.

In one embodiment, the nodes of such a network interoperate in a mannerspecified by various protocols including e.g., TCP/IP and protocolsdefined but not limited to by the following documents:

E. Rosen, et al., “Multiprotocol Label Switching Architecture,” RFC3031, Internet Engineering Task Force, January 2001.

Braden, et al. “Resource ReSerVation Protocol (RSVP)-Version 1Functional Specification,” RFC 2205, Internet Engineering Task Force,September 1997.

Awduche, et al., “Requirements for Traffic Engineering Over MPLS,” RFC2702, Internet Engineering Task Force, September 1999.

Berger, et al., “Generalized MPLS Signaling—RSVP-TE Extensions,” RFC3473, Internet Engineering Task Force, January 2003.

Vasseur, et al. “RSVP Path Computation Request and Reply Messages,”Internet Draft, Internet Engineering Task Force, June 2002.

Lindem, et al., “Extensions to OSPF for Advertising Optional RouterCapabilities,” Internet Draft, Internet Engineering Task Force, October2003.

Vasseur, et al., “OSPF Traffic Engineering Capability TLVs,” InternetDraft, Internet Engineering Task Force, October 2002.

The above documents are incorporated herein by reference in theirentirety for all purposes.

In one embodiment, the nodes of example networks described herein are IProuters that implement multiprotocol label switching (MPLS) and operateas label switched routers (LSRs). In one simple MPLS scenario, at theingress to the network, a label is assigned to each incoming packetbased on its forwarding equivalence class before forwarding the packetto the next hop node. At each intermediate node, a forwarding selectionand a new substitute label are determined by using the label found inthe incoming packet as a reference to a label forwarding table thatincludes this information. At the network egress (or one hop prior), aforwarding decision is made based on the incoming label but optionallyno label is included when the packet is sent on to the next hop.

The paths taken by packets that traverse the network in this manner arepreconfigured and referred to as label switched paths (LSPs).Establishment of an LSP requires computation of a path, signaling alongthe path, and modification of forwarding tables along the path. MPLSTraffic Engineering establishes LSPs that have guaranteed bandwidthunder certain conditions.

Embodiments of the present invention will be described with reference totwo principal examples that involve computation of an optimal path whichin the examples is the shortest path. The first example involvescomputing the path of an MPLS Traffic Engineering LSP through threeAutonomous Systems. An Autonomous System (AS) is herein defined to be agroup of routers within a network that are subject to a common authorityand use the same intradomain routing protocol.

The second example involves computing the path of an MPLS TrafficEngineering LSP through three “areas.” An area is a collection ofrouters that share full network topology information with each other butnot necessarily with routers outside the area even those that with whichthey share common administrative control. The term area as used hereinalso encompasses the term “level” which has a similar meaning fornetworks that employ IS-IS as their IGP (interior gateway protocol).These examples are merely representative. Furthermore, the techniquesdescribed with reference to inter-AS path computation may be used in thecontext of inter-area path computation and, under certain conditions,the techniques described with reference to inter-area path computationmay be used for inter-AS path computation.

Embodiments of the present invention provide a distributed pathcomputation algorithm employing multiple path computation elements.Generally, there is one path computation element per AS or area used forthe computation of specific LSP paths. The algorithm is herein referredto as the virtual shortest path tree (VSPT) algorithm. Oneimplementation operates as a recursive backward path computation.

The following discussion of terminology and assumptions will refer to amultiple AS case but it will be understood that wherever AutonomousSystems are referred to, areas may be used also. The VSPT algorithm isapplicable to tree-based multi-AS or multi-area topologies and can alsobe extended to arbitrary multi-AS topologies. This type of topologyinvolves an arbitrary set of Autonomous Systems with the constraint thatthere is only one sequence of Autonomous Systems that connects any pairof Autonomous Systems.

A path computation element (PCE) is an entity having the capability tocompute paths between any nodes in an AS and communicate with other pathcomputation elements in other Autonomous Systems.

A path computation client (PCC) is a requesting entity, e.g., alabel-switched router (LSR) that sends a path computation request to apath computation element. When a path computation element sends arequest to another path computation element, it acts as a pathcomputation client.

Now assume a topology with n Autonomous Systems: AS 1, AS2, AS3, . . .ASn. Each AS has a dedicated path computation element PCEi which caneither be statically configured on the path computation clients ordynamically discovered by means of IGP extensions. Also, the borderrouters that interconnect each AS will be defined. An entry borderrouter of ASi is a border router that connects ASi−1to ASi. An exitborder router of ASi is a border router that interconnects ASi to ASi+1.In the case of areas rather than autonomous systems since the routersare under a common authority, a single router may in fact serve as theexit border router of one area and the entry border router of anotherarea.

For each ASi, we can define a set, X-en(i), of entry border routersidentified as ASBR-en(k,i), the kth entry border router of ASi.Similarly, there is a set X-ex(i) of exit border routers identified asASBR-ex(k,i), the kth exit border router of ASI.

A virtual shortest path tree (VSPT) is established recursively bycommunication among the path computation elements. In one embodiment, atsuccessive recursive stages a VSPTi is developed by PCEi and thentransferred to PCEi−1. The VSPTi is rooted at the MPLS TrafficEngineering LSP destination or tail-end and extends to the entry borderrouters, ASBR-en(1,i), ASBR-en(2,i) . . . ASBR-en(X-en(i),i). The treeincludes a path segment from each of these entry border routers to thetree root that is a shortest computed path that satisfies a set ofconstraints such as bandwidth, affinities, etc. Note that only entryborder routers having connectivity to an exit border router of ASi−1need be considered.

FIG. 2 is a flow chart describing steps of computing a path of aninter-AS MPLS Traffic Engineering LSP according to one embodiment of thepresent invention. At a step 202, a path computation request is sentfrom the LSP head-end (which is acting as a path computation client) tothe local path computation element. The address of the local pathcomputation element may be manually configured. Alternatively, the pathcomputation element may advertise itself through flooding within thearea/AS. Path computation element discovery techniques can be inaccordance with Lindem, et al., “Extensions to OSPF for AdvertisingOptional Router Capabilities,” Internet Draft, Internet Engineering TaskForce, October 2003 with Vasseur, et al., “OSPF Traffic EngineeringCapability TLVs,” Internet Draft, Internet Engineering Task Force,October 2002. The request can be made in accordance with a protocolspecified in Vasseur, et al. “RSVP Path Computation Request and ReplyMessages,” Internet Draft, June 2002. At step 204, the path computationrequest is passed to the path computation element in every AS on the wayto the LSP tail-end. Knowledge of the other path computation elementaddresses may be by way of static configuration or BGP advertisements ascould be readily devised by one of skill in the art. N is the number ofAutonomous Systems on the way to the LSP tail-end, one can say that thepath computation request is ultimately received by a PCE-N in the AS ofthe tail-end.

A backward recursive path computation begins. A step 206 sets N to thenumber of Autonomous Systems and an index variable n is set equal to N.A step 208 is the first step inside the recursion loop. At step 208,PCEn computes VSPTn. VSPTn is a shortest path tree rooted at the LSPtail-end and includes a path from this tail-end to every ASBR-en(k,n).This may be computed using the CSPF (constrained shortest path first)algorithm as known in the art or any other suitable algorithm. Linksbetween entry border routers of ASn should be taken into account whencomputing VSPTn. A step 210 sends information specifying VSPTn from PCEnto PCEn−1. The VPST may or may not be specified in such a way that hopsinternal to an AS and their costs are specified. A step 212 decrementsn.

At step 214, PCEn concatenates the VSPT it received from PCEn+1 with thetopology of ASn. In one implementation, PCEn, before concatenating theASn topology with VSPTn+1 may invoke a local CSPF algorithm on theinterconnections between all ASBR-ex(k,i) and ASBR-en(k′,i+1). A step216 tests whether n equals 1, i.e., whether the algorithm is about tovisit the path computation element in the AS of the LSP head-end. If ndoes not equal 1, another iteration begins at step 208 with thecomputation of VSPTn.

If step 216 determines that n=1, then at step 218, PCE1 concatenates thereceived VSPT2 to the topology of AS1, computes (using, e.g.,CSPF) theshortest path based on the concatenated topology, and then sendsinformation specifying the shortest path to the requesting head-end. Ifmultiple equal-cost paths are found, PCE1 may provide some or all ofthem to the requesting head-end. Other situations where PCE1 may returnmore than one path include, e.g., where the head-end requests thecomputation of N diverse paths. These diverse paths may or may not haveequal costs.

A specific example of the application of the just-described procedurewill be explained with reference to FIG. 1 and FIGS. 3A-3D. FIG. 1depicts an inter-Autonomous System path computation scenario. There arethree Autonomous Systems, AS1, AS2, and AS3. A path is to be computedbetween a head-end 102 in AS1 and a tail-end 104 in AS3. FIG. 1 shows 8border routers positioned to connect the Autonomous Systems: AS1, AS2, .. . AS3. Additionally, FIG. 1 shows AS1 as including routers 106, 108,and 110, AS2 as including routers 112 and 114, and AS3 as includingrouter 104 and 116.

All of the border routers are BGP (Border Gateway Protocol) peers. Theprotocols used for routing within an AS (e.g., an IGP), do not operateon the links connecting the border routers. Within an AS, an IGPprotocol such as the well-known IS-IS or OSPF operates. ASBR1, ASBR8,and ASBR9 operate as path computation elements for their respectiveAutonomous Systems. All links have a cost of one. At least one pathsatisfying the set of required Traffic Engineering constraints(bandwidth, affinities, etc.) can be found between 1) the head-end 102and every exit border router of AS1, 2) every entry border router of AS2and every exit border router of AS2, and 3) every entry border router ofAS3 and the destination.

The VSPT and shortest path is found as follows. A path computationrequest is sent from head-end 102 to ASBR1. ASBR1 is known as a pathcomputation element to head-end 102 either by, e.g., staticconfiguration or by use of an extension to the locally operative IGPprotocol. The path computation request is relayed from ASBR1 to ASBR8and then on to ASBR9. ASBR9 computes a VSPT3 interconnecting ASBR9 andASBR10 with tail-end 104. This VSPT3 is depicted in FIG. 3A.Intermediate hops such as ones involving router 116 are omitted from therepresentation of VSPT3 to reflect their omission from the informationspecifying VSPT3 that is transmitted to ASBR2. VSPT3 includes a path 302that includes one hop from ASBR9 to tail-end 104 and has a cost of 1.VSPT3 further includes a path 304 that includes hops from-ASBR10 torouter 116 (not shown) on to tail-end 104. Path 304 has a cost of 2.

Upon receipt of VSPT3, ASBR8 concatenates the topology of AS2 with VSPT3resulting in the mesh depicted in FIG. 3B. ASBR8 uses this topology todetermine VSPT2 as shown in FIG. 3C. Only the costs and the endpointsare shown in FIG. 3C. A path 306 extends from ASBR4 through router 112,ASBR7, and ASBR9 to tail-end 104. A path 308 extends from ASBR5 throughASBR4, router 112, ASBR7, and ASBR9 to tail-end 104. A path 310 extendsfrom ASBR6 through router 114, ASBR7, and ASBR9 to tail-end 104.Information specifying VSPT2 is sent to ASBR1.

ASBR1 concatenates the topology of AS1 with VSPT2 to obtain a mesh shownin FIG. 3D. ASBR1 can then find a shortest path. Here there are multipleshortest paths having cost 7. One shortest path goes from head-end 102through router 108, ASBR1, ASBR4, router 112, ASBR7, and ASBR9. Anothershortest path traverses router 110, ASBR3, ASBR6, router 114, ASBR7, andASBR9 before reaching tail-end 104. One or more of the shortest pathsare reported to head-end 102.

Development of VSPTs and selection of the shortest path(s) involvescomparing the costs of paths. Since links making up the paths may be inAutonomous Systems operated by different service providers, the metricsused for measuring cost may not be the same. There are various ways ofaddressing this issue. One way is to simply standardize the metric (e.g,the standard Traffic Engineering metric) among service providers thatcarry each other's MPLS Traffic Engineering LSPs. In an alternativeimplementation, a mapping mechanism is defined to translate costs in onemetric to costs in another metric. For example, if cost is a function ofonly link bandwidth, tables correlating standard link bandwidth values(e.g., DS-1, DS-3, OC3, OC48, OC192) to local AS cost values could bepassed among path computation elements. A PCEi that is transmitting VSPTinformation to PCEi−1can use this type of table to translate costinformation of the VSPT into the metric of PCEi−1before transmitting.Alternatively, the translation could be performed by PCEi−1prior tocomputing VSPTi−1.

The above-described techniques can also be applied to inter-area pathcomputation rather than inter-AS path computation. It will often be thecase that a single border router is directly connected in two areas andhas access to IGP link information for both areas. In many commonsituations, the above-described VSPT development technique can bemodified to reduce signaling.

FIG. 4 depicts an inter-area path computation scenario according to oneembodiment of the present invention. There are three areas, Area 1, Area0, and Area 2. The path of an MPLS Traffic Engineering LSP from ahead-end 402 in Area 1 to a tail-end 404 in Area 2 is to be computed.Area border routers ABR1 and ABR2 interconnect Area 1 and Area 0. Areaborder routers ABR1′ and ABR2′ interconnect Area 0 and Area 2. Area 1further includes routers 404 and 406. Area 0 further includes routers408, 410, and 412. Area 2 further includes a router 414.

FIG. 5 is a flow chart describing steps of computing a path of an MPLSTraffic Engineering LSP across multiple areas according to oneembodiment of the present invention. At step 502, head-end 402 sends apath computation request to ABR1 to compute a path to tail-end 404. ABR1computes shortest paths from head-end 402 to ABR1 and from head-end 402to ABR2 at step 504. These shortest paths make up a VSPT1. This VSPT1 issent to ABR2′ along with a path computation request at step 506. At step508, ABR2′ concatenates VSPT1 with the topologies of Area 0 and Area 2.Then at step 510, ABR2′ computes a shortest path based on theconcatenated topology. This shortest path is returned to head-end node402 at step 512.

FIG. 6 depicts a network device 600 that may be used to implement, e.g.,any of the routers of FIG. 1, FIGS. 3A-3D, or FIG. 4 and/or perform anyof the steps of FIG. 2 or FIG. 5. In one embodiment, network device 600is a programmable machine that may be implemented in hardware, softwareor any combination thereof. A processor 602 executes code stored in aprogram memory 604. Program memory 604 is one example of acomputer-readable medium. Program memory 604 can be a volatile memory.Another form of computer-readable medium storing the same codes would besome type of non-volatile storage such as floppy disks, CD-ROMs,DVD-ROMs, hard disks, flash memory, etc. A carrier wave that carries thecode across a network is another example of a computer-readable medium.

Network device 600 interfaces with physical media via a plurality oflinecards 606. Linecards 606 may incorporate Ethernet interfaces, DSLinterfaces, Gigabit Ethernet interfaces, 10-Gigabit Ethernet interfaces,SONET interfaces, etc. As packets are received, processed, and forwardedby network device 600, they may be stored in a packet memory 608.Network device 600 implements all of the network protocols andextensions thereof described above as well as the data networkingfeatures provided by the present invention.

In one implementation, control plane operations such as the pathcomputation operations described above are controlled and signaled byprocessor 602 while forwarding tables are maintained on linecards 606.The present invention is, however, not limited to a distributedarchitecture. To implement functionality according to the presentinvention, linecards 606 may incorporate processing and memory resourcessimilar to those discussed above in connection with the network deviceas a whole.

It is understood that the examples and embodiments that are describedherein are for illustrative purposes only and that various modificationsand changes in light thereof will be suggested to persons skilled in theart and are to be included within the spirit and purview of thisapplication and scope of the appended claims and their full scope ofequivalents.

1. A method for establishing a MPLS Traffic Engineering LSP between ahead-end node and a tail-end node across multiple autonomous systems,said method comprising: providing a plurality of path computationelements, each associated with a corresponding autonomous system; usingsaid plurality of path computation elements to recursively compute avirtual shortest path tree between a first autonomous system includingsaid head-end node and a second autonomous system including saidtail-end node; and computing a path of said MPLS Traffic Engineering LSPusing said shortest path tree.
 2. The method of claim 1 wherein a rootof said virtual shortest path tree comprises said tail-end node andother nodes of said shortest path tree are border routers connectingones of said multiple autonomous systems.
 3. The method of claim 1wherein computing a path comprises employing CSPF.
 4. A method foroperating a first path computation element in a first autonomous systemto participate in establishing an inter-autonomous system TrafficEngineering LSP between a head-end node and a tail-end node, said methodcomprising: receiving virtual shortest path tree information from asecond path computation element in a second autonomous system, saidvirtual shortest path tree information identifying a shortest path treerooted at said tail-end and extending to one or more border routerslinking said first autonomous system and said second autonomous system;performing computations based on said received virtual shortest pathtree information to determine a revised virtual shortest path tree, saidrevised virtual shortest path tree extending from said tail-end node toone or more border routers linking said first autonomous system and athird autonomous system; and sending information identifying saidrevised virtual shortest path tree to a third path computation elementin said third autonomous system.
 5. The method of claim 4 wherein saidinformation identifying said revised virtual shortest path treeidentifies paths through border routers of said revised virtual shortestpath tree without identifying intermediate nodes between said borderrouters of said revised virtual shortest path tree.
 6. The method ofclaim 5 wherein said information identifying said revised virtualshortest path tree identifies paths through border routers of saidrevised virtual shortest path tree and identifies intermediate nodesbetween said border routers of said revised virtual shortest path tree.7. The method of claim 4 further comprising: prior to receiving saidvirtual shortest path tree information from said second path computationelement, receiving a path computation request from said third pathcomputation element and forwarding said request to said second pathcomputation element.
 8. A method for operating a first path computationelement in a first autonomous system to participate in establishing anMPLS Traffic Engineering LSP from a head-end node in said firstautonomous system to a tail-end node in a second autonomous system, saidmethod comprising: receiving a path computation request from saidhead-end node; transmitting said path computation request to a secondpath computation element in a third autonomous system bordering saidfirst autonomous system; and thereafter receiving virtual shortest pathtree information from said second path computation element, said virtualshortest path tree information identifying a virtual shortest path treerooted at said tail-end node and extending to one more border routersconnected in both said first autonomous system and said third autonomoussystem.
 9. The method of claim 8 further comprising: using said virtualshortest path tree information to compute a path of said MPLS TrafficEngineering LSP from said head-end node to said tail-end node.
 10. Themethod of claim 9 further comprising: sending information identifyingsaid path to said head-end node.
 11. The method of claim 10 wherein saidinformation identifying said path identifies border routers of said pathwithout identifying intermediate nodes between said border routers. 12.The method of claim 10 wherein said information identifying said pathidentifies border routers of said path and intermediate nodes betweensaid border routers.
 13. A method for operating a first path computationelement in a first area to participate in establishing an MPLS TrafficEngineering LSP from a head-end node in said first area to a tail-endnode in a second area, said method comprising: computing a virtualshortest path tree rooted at said head-end node and extending to one ormore border routers connected to said first area and to a third areabetween said first area and said third area; and sending informationidentifying said virtual shortest path tree to a second path computationelement operating on a border router connected in both said third areaand said second area.
 14. The method of claim 13 further comprising:receiving information identifying a path of said MPLS TrafficEngineering LSP from said second path computation element; and notifyingsaid head-end node of said path.
 15. The method of claim 13 wherein saidfirst path computation element operates on a border router connected inboth said first area and said third area.
 16. A method for operating afirst path computation element connected in a first area and a secondarea to participate in establishing an MPLS Traffic Engineering LSP froma head-end node in a third area to a tail-end node in said first area,said method comprising: receiving information identifying a virtualshortest path tree rooted at said head-end node and extending to one ormore border routers connected in both said third area and said secondarea; performing computations to extend said virtual shortest path treethrough said second area and said third area; and identifying a path forsaid MPLS Traffic Engineering LSP based on said extended virtualshortest path tree.
 17. The method of claim 16 wherein receivingcomprises: receiving said information from a second path computationelement connected in both said second area and said third area.
 18. Themethod of claim 16 further comprising: sending information identifyingsaid path to said head-end node.
 19. A method for establishing a MPLSTraffic Engineering LSP between a head-end node and a tail-end nodeacross multiple areas, said method comprising: providing a plurality ofpath computation elements, each associated with a corresponding area;using said plurality of path computation elements to recursively computea virtual shortest path tree between a first area including saidhead-end node and a second area including said tail-end node; andcomputing a path of said MPLS Traffic Engineering LSP using saidshortest path tree.
 20. The method of claim 19 wherein a root of saidvirtual shortest path tree comprises said tail-end node and other nodesof said shortest path tree are border routers connecting ones of saidmultiple areas.
 21. The method of claim 19 wherein computing a pathcomprises employing CSPF.
 22. A method for operating a first pathcomputation element in a first area to participate in establishing aninter-area Traffic Engineering LSP between a head-end node and atail-end node, said method comprising: receiving virtual shortest pathtree information from a second path computation element in a secondarea, said virtual shortest path tree information identifying a shortestpath tree rooted at said tail-end and extending to one or more borderrouters linking said first area and said second area; performingcomputations based on said received virtual shortest path treeinformation to determine a revised virtual shortest path tree, saidrevised virtual shortest path tree extending from said tail-end node toone or more border routers linking said first area and a third area; andsending information identifying said revised virtual shortest path treeto a third path computation element in said third area.
 23. The methodof claim 22 wherein said information identifying said revised virtualshortest path tree identifies paths through border routers of saidrevised virtual shortest path tree without identifying intermediatenodes between said border routers of said revised virtual shortest pathtree.
 24. The method of claim 23 wherein said information identifyingsaid revised virtual shortest path tree identifies paths through borderrouters of said revised virtual shortest path tree and identifiesintermediate nodes between said border routers of said revised virtualshortest path tree.
 25. The method of claim 24 further comprising: priorto receiving said virtual shortest path tree information from saidsecond path computation element, receiving a path computation requestfrom said third path computation element and forwarding said request tosaid second path computation element.
 26. A method for operating a firstpath computation element in a first area to participate in establishingan MPLS Traffic Engineering LSP from a head-end node in said first areato a tail-end node in a second area, said method comprising: receiving apath computation request from said head-end node; transmitting said pathcomputation request to a second path computation element in a third areabordering said first area; and thereafter receiving virtual shortestpath tree information from said second path computation element, saidvirtual shortest path tree information identifying a virtual shortestpath tree rooted at said tail-end node and extending to one more borderrouters connected in both said first area and said third area.
 27. Themethod of claim 26 further comprising: using said virtual shortest pathtree information to compute a path of said MPLS Traffic Engineering LSPfrom said head-end node to said tail-end node.
 28. The method of claim27 further comprising: sending information identifying said path to saidhead-end node.
 29. The method of claim 28 wherein said informationidentifying said path identifies border routers of said path withoutidentifying intermediate nodes between said border routers.
 30. Themethod of claim 28 wherein said information identifying said pathidentifies border routers of said path and intermediate nodes betweensaid border routers.
 31. A computer program product for establishing aMPLS Traffic Engineering LSP between a head-end node and a tail-end nodeacross multiple autonomous systems, said product comprising: code thatcauses provision of a plurality of path computation elements, eachassociated with a corresponding autonomous system; code that causes useof said plurality of path computation elements to recursively compute avirtual shortest path tree between a first autonomous system includingsaid head-end node and a second autonomous system including saidtail-end node; code that causes computation of a path of said MPLSTraffic Engineering LSP using said shortest path tree; and acomputer-readable storage medium that stores the codes.
 32. The productof claim 31 wherein a root of said virtual shortest path tree comprisessaid tail-end node and other nodes of said shortest path tree are borderrouters connecting ones of said multiple autonomous systems.
 33. Theproduct of claim 31 wherein said code that causes computation of a pathcomprises code that causes employment of CSPF.
 34. A computer programproduct for operating a first path computation element in a firstautonomous system to participate in establishing an inter-autonomoussystem Traffic Engineering LSP between a head-end node and a tail-endnode, said product comprising: code that causes receipt of virtualshortest path tree information from a second path computation element ina second autonomous system, said virtual shortest path tree informationidentifying a shortest path tree rooted at said tail-end and extendingto one or more border routers linking said first autonomous system andsaid second autonomous system; code that causes performance ofcomputations based on said received virtual shortest path treeinformation to determine a revised virtual shortest path tree, saidrevised virtual shortest path tree extending from said tail-end node toone or more border routers linking said first autonomous system and athird autonomous system; code that causes sending of informationidentifying said revised virtual shortest path tree to a third pathcomputation element in said third autonomous system; and acomputer-readable storage medium that stores the codes.
 35. The productof claim 34 wherein said information identifying said revised virtualshortest path tree identifies paths through border routers of saidrevised virtual shortest path tree without identifying intermediatenodes between said border routers of said revised virtual shortest pathtree.
 36. The product of claim 35 wherein said information identifyingsaid revised virtual shortest path tree identifies paths through borderrouters of said revised virtual shortest path tree and identifiesintermediate nodes between said border routers of said revised virtualshortest path tree.
 37. The product of claim 34 further comprising: codethat, prior to receipt of said virtual shortest path tree informationfrom said second path computation element, causes receipt of a pathcomputation request from said third path computation element andforwarding said request to said second path computation element.
 38. Acomputer program product for operating a first path computation elementin a first autonomous system to participate in establishing an MPLSTraffic Engineering LSP from a head-end node in said first autonomoussystem to a tail-end node in a second autonomous system, said productcomprising: code that causes receipt of a path computation request fromsaid head-end node; code that causes transmission of said pathcomputation request to a second path computation element in a thirdautonomous system bordering said first autonomous system; code thatcauses receipt of virtual shortest path tree information from saidsecond path computation element, said virtual shortest path treeinformation identifying a virtual shortest path tree rooted at saidtail-end node and extending to one more border routers connected in bothsaid first autonomous system and said third autonomous system; and acomputer-readable storage medium that stores the codes.
 39. The productof claim 38 further comprising: code that causes use of said virtualshortest path tree information to compute a path of said MPLS TrafficEngineering LSP from said head-end node to said tail-end node.
 40. Theproduct of claim 39 further comprising: code that causes sending ofinformation identifying said path to said head-end node.
 41. The productof claim 40 wherein said information identifying said path identifiesborder routers of said path without identifying intermediate nodesbetween said border routers.
 42. The product of claim 40 wherein saidinformation identifying said path identifies border routers of said pathand intermediate nodes between said border routers.
 43. A computerprogram product for operating a first path computation element in afirst area to participate in establishing an MPLS Traffic EngineeringLSP from a head-end node in said first area to a tail-end node in asecond area, said product comprising: code that causes computation of avirtual shortest path tree rooted at said head-end node and extending toone or more border routers connected to said first area and to a thirdarea between said first area and said third area; code that causessending of information identifying said virtual shortest path tree to asecond path computation element operating on a border router connectedin both said third area and said second area; and a computer-readablemedium that stores the codes.
 44. The product of claim 43 furthercomprising: code that causes receipt of information identifying a pathof said MPLS Traffic Engineering LSP from said second path computationelement; and code that causes notification of said head-end node of saidpath.
 45. The product of claim 43 wherein said first path computationelement operates on a border router connected in both said first areaand said third area.
 46. A computer program product for operating afirst path computation element connected in a first area and a secondarea to participate in establishing an MPLS Traffic Engineering LSP froma head-end node in a third area to a tail-end node in said first area,said product comprising: code that causes receipt of informationidentifying a virtual shortest path tree rooted at said head-end nodeand extending to one or more border routers connected in both said thirdarea and said second area; code that causes performance of computationsto extend said virtual shortest path tree through said second area andsaid third area; code that causes identification of a path for said MPLSTraffic Engineering LSP based on said extended virtual shortest pathtree; and a computer-readable storage medium that stores the codes. 47.The computer program product of claim 46 wherein said code that causesreceipt comprises: code that causes receipt of said information from asecond path computation element connected in both said second area andsaid third area.
 48. The product of claim 46 further comprising: codethat causes sending of information identifying said path to saidhead-end node.
 49. A computer program product for establishing a MPLSTraffic Engineering LSP between a head-end node and a tail-end nodeacross multiple areas, said product comprising: code that causesprovision of a plurality of path computation elements, each associatedwith at least one corresponding area; code that causes use of saidplurality of path computation elements to recursively compute a virtualshortest path tree between a first area including said head-end node anda second area including said tail-end node; code that causes computationof a path of said MPLS Traffic Engineering LSP using said shortest pathtree; and a computer-readable storage medium that stores the codes. 50.The product of claim 49 wherein a root of said virtual shortest pathtree comprises said tail-end node and other nodes of said shortest pathtree are border routers connecting ones of said multiple areas.
 51. Theproduct of claim 49 wherein said code that causes computation of a pathcomprises code that causes employment of CSPF.
 52. A computer programproduct for operating a first path computation element in a first areato participate in establishing an inter-area Traffic Engineering LSPbetween a head-end node and a tail-end node, said product comprising:code that causes receipt of virtual shortest path tree information froma second path computation element in a second area, said virtualshortest path tree information identifying a shortest path tree rootedat said tail-end and extending to one or more border routers linkingsaid first area and said second area; code that causes performance ofcomputations based on said received virtual shortest path treeinformation to determine a revised virtual shortest path tree, saidrevised virtual shortest path tree extending from said tail-end node toone or more border routers linking said first area and a third area;code that causes sending of information identifying said revised virtualshortest path tree to a third path computation element in said thirdarea; and a computer-readable medium that stores the codes.
 53. Theproduct of claim 52 wherein said information identifying said revisedvirtual shortest path tree identifies paths through border routers ofsaid revised virtual shortest path tree without identifying intermediatenodes between said border routers of said revised virtual shortest pathtree.
 54. The product of claim 53 wherein said information identifyingsaid revised virtual shortest path tree identifies paths through borderrouters of said revised virtual shortest path tree and identifiesintermediate nodes between said border routers of said revised virtualshortest path tree.
 55. The product of claim 52 further comprising: codethat, prior to receipt of said virtual shortest path tree informationfrom said second path computation element, causes receipt of a pathcomputation request from said third path computation element andforwarding said request to said second path computation element.
 56. Acomputer program product for operating a first path computation elementin a first area to participate in establishing an MPLS TrafficEngineering LSP from a head-end node in said first area to a tail-endnode in a second area, said product comprising: code that causes receiptof a path computation request from said head-end node; code that causestransmission of said path computation request to a second pathcomputation element in a third area bordering said first area; code thatcauses receipt of virtual shortest path tree information from saidsecond path computation element, said virtual shortest path treeinformation identifying a virtual shortest path tree rooted at saidtail-end node and extending to one more border routers connected in bothsaid first area and said third area; and a computer-readable storagemedium that stores the codes.
 57. The product of claim 56 furthercomprising: code that causes use of said virtual shortest path treeinformation to compute a path of said MPLS Traffic Engineering LSP fromsaid head-end node to said tail-end node.
 58. The product of claim 56further comprising: code that causes sending of information identifyingsaid path to said head-end node.
 59. The product of claim 58 whereinsaid information identifying said path identifies border routers of saidpath without identifying intermediate nodes between said border routers.60. The product of claim 58 wherein said information identifying saidpath identifies border routers of said path and intermediate nodesbetween said border routers.
 61. Apparatus for establishing a MPLSTraffic Engineering LSP between a head-end node and a tail-end nodeacross multiple autonomous systems, said apparatus comprising: means forproviding a plurality of path computation elements, each associated witha corresponding autonomous system; means for using said plurality ofpath computation elements to recursively compute a virtual shortest pathtree between a first autonomous system including said head-end node anda second autonomous system including said tail-end node; and means forcomputing a path of said MPLS Traffic Engineering LSP using saidshortest path tree.
 62. Apparatus for establishing a MPLS TrafficEngineering LSP between a head-end node and a tail-end node acrossmultiple areas, said apparatus comprising: means for providing aplurality of path computation elements, each associated with at leastone corresponding area; means for using said plurality of pathcomputation elements to recursively compute a virtual shortest path treebetween a first area including said head-end node and a second areaincluding said tail-end node; and means for computing a path of saidMPLS Traffic Engineering LSP using said shortest path tree. 63.Apparatus for establishing a MPLS Traffic Engineering LSP between ahead-end node and a tail-end node across multiple autonomous systems,said apparatus comprising: a processor; and a memory device that storesinstructions to be executed by said processor said instructionscomprising: code that causes provision of a plurality of pathcomputation elements, each associated with a corresponding autonomoussystem; code that causes use of said plurality of path computationelements to recursively compute a virtual shortest path tree between afirst autonomous system including said head-end node and a secondautonomous system including said tail-end node; and code that causescomputation of a path of said MPLS Traffic Engineering LSP using saidshortest path tree.
 64. Apparatus for establishing a MPLS TrafficEngineering LSP between a head-end node and a tail-end node acrossmultiple areas, said apparatus comprising: a processor; and a memorydevice that stores instructions to be executed by said processor saidinstructions comprising: code that causes provision of a plurality ofpath computation elements, each associated with at least onecorresponding area; code that causes use of said plurality of pathcomputation elements to recursively compute a virtual shortest path treebetween a first area including said head-end node and a second areaincluding said tail-end node; and code that causes computation of a pathof said MPLS Traffic Engineering LSP using said shortest path tree.